package com.csair.irp.job.file.parser.aetatk;

import com.csair.irp.job.common.util.IEnum;
import org.apache.commons.lang3.StringUtils;

/**
 * ET票务信息，清洗后的支付类型枚举
 * EtPaymentTypeEnum
 * creater:pzf
 * createTime：2017年8月5日-上午9:29:45 
 * @version 1.0.0
 * 
 */
public enum EtPaymentTypeEnum implements IEnum<String ,String> {

	//支付类型   CA现金； CC信用卡； GR 里程支付； SGR 记帐； CK支票
	
	Cash("CA", "现金"),
	Credit("CC", "信用卡"),
	Chartered("GR", "里程"),
	Change("EX", "变更票"),
	Record("SGR", "记帐"),
	Cheque("CK", "支票");

	private String value;
	private String name;
	
	EtPaymentTypeEnum(String value, String name) {
		this.name = name;
		this.value = value;
	}

	@Override
	public String getValue() {
		return value;
	}

	@Override
	public String getName() {
		return name;
	}

	/**
	 * (静态方法，通过枚举值获取枚举)
	 * com.csair.irp.enums.checkData
	 * methodName：getEnum
	 * creater：pzf 
	 * createTime：2017年8月5日-上午9:44:31 
	 * @param value
	 * @return EtPaymentTypeEnum
	 * @exception 
	 * @since  1.0.0
	*/
	public static EtPaymentTypeEnum getEnum(String value) {
         if (StringUtils.isBlank(value)) {
        	 return null;
         }		
         EtPaymentTypeEnum[] enums = EtPaymentTypeEnum.values();
         for (EtPaymentTypeEnum obj : enums) {
        	 if (value.equals(obj.getValue())) {
        		 return obj;
        	 }
         }
         return null;
	}
	
	/**
	 * (校验该枚举值是否合法)
	 * com.csair.irp.enums.checkData
	 * methodName：checkLegal
	 * creater：pzf 
	 * createTime：2017年8月5日-上午9:46:35 
	 * @param value
	 * @return boolean
	 * @exception 
	 * @since  1.0.0
	*/
	public static boolean checkLegal(String value) {
		if (StringUtils.isBlank(value)) {
			return false;
		}
		EtPaymentTypeEnum[] enums = EtPaymentTypeEnum.values();
        for (EtPaymentTypeEnum obj : enums) {
        	if (value.equals(obj.getValue())) {
        		return true;
        	}
        }
        return false;
	}
	
}
